package com.xhs.entity;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 企业信息 实体类。
 *
 * @author xhs
 * @since 2023-08-13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "cap_company_info")
public class CapCompanyInfoEntity implements Serializable, TransPojo {

    /**
     * 主键
     */
    @Id(keyType = KeyType.Auto)
    private Integer id;

    /**
     * 企业F代码
     */
    private String companyId;

    /**
     * 企业名称
     */
    private String companyName;

    /**
     * 分公司
     */
    private String branchOffice;

    /**
     * 认证情况
     */
    private String authenticates;

    /**
     * 所缺材料
     */
    private String missingMaterials;

    /**
     * 是否限制交易
     */
    private String tradeRestrictions;

    /**
     * 是否白名单内
     */
    private String theWhitelist;

    /**
     * 是否六个月内无交易记录
     */
    private String transactionRecords;

    /**
     * 认证状态
     * 1:未认证,2:认证中,3:认证失败,4:已认证
     */
    @Trans(type = TransType.DICTIONARY,key = "status",ref = "certificationStatusName")
    private Integer certificationStatus;

    /**
     * 认证状态
     * 1:未认证,2:认证中,3:认证失败,4:已认证
     */
    @Column(ignore = true)
    private String certificationStatusName;

    /**
     * 三证合一类型
     */
    private String syndromesType;

    /**
     * 是否有三证合一证件
     */
    private String syndromes;

    /**
     * 是否有法定代表人附件
     */
    private String representativeAttachment;

    /**
     * 法定代表人信息是否在有效期内
     */
    private String informationValid;

    /**
     * 统一社会信用代码证是否在有效期内
     */
    private String identifierValid;

    /**
     * 是否有已认证的操作员
     */
    private String certifiedOperator;

    /**
     * 有已认证且不过期操作员
     */
    private String notExpiredOperator;

    /**
     * 外呼意愿核实
     */
    private String verificationWillingness;

    /**
     * 法人人脸识别
     */
    private String frFace;

    /**
     * 受益人信息
     */
    private String beneficiaryInformation;

    /**
     * 账户分级
     */
    private String accountClassification;

    /**
     * 企业/法人名称变更
     */
    private String nameChange;

}
